The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. The proliferation of local, regional, and global networks such as the Internet has availed a sea of information to society. These networking technologies have expanded to increasingly include wireless and mobile technologies. Through these networks, information can be downloaded to desktop systems, wireless systems, mobile systems, etc. For example, information available via the Internet can now be downloaded onto mobile wireless units, such as cellular telephones, personal digital assistants (PDAs), laptop computers, etc.
Second generation wireless service, often referred to as 2G wireless service, is a current wireless service based on circuit-switched technology. In this regard, 2G systems, such as Global System for Mobile communications (GSM), use digital radio technology for improved quality and a broader range of services over first generation mobile technologies. Third generation wireless service, often referred to as 3G wireless service, refers to a set of digital technologies that promises improvements in capacity, speed and efficiency by deploying new packet-based transmission methodologies between terminals and the network. Users of 3G devices and networks will have access to multimedia services such as video-on-demand, video conferencing, fast web access and file transfer. Existing and future services are, and will continue to be, provided by network service operators who make services and applications available to mobile device users via the network.
One particular service feature currently available for communicating information is a “push” feature (also known as a “notification” feature or “alert” feature). In a typical client/server model, a client requests a service or information from a server, which then responds in transmitting information to the client. This is generally referred to as “pull” technology, where the client pulls the information from the server. For example, entry of a Uniform Resource Locator (URL) at a client device which is then dispatched to the server to retrieve the associated information is a pull transaction.
In contrast, “push” technology generally refers to a means to transmit information to one or more devices without a previous user action. Thus, there is no explicit request from the client before the server transmits its information, and therefore push technology essentially includes server-initiated transactions. Push technologies can be used in connection with various protocols and communication technologies. For example, some representative push technologies include Short Message Service (SMS), Wireless Application Protocol (WAP) Push, Multimedia Messaging Service (MMS), Session Initiation Protocol (SIP), as well as others.
Whereas traditional push technologies are adequate to push content to clients, such technologies suffer from drawbacks. Consider a private network comprising, connected to or otherwise associated with a mobile network, such as a General Packet Radio Service (GPRS) network. In such instances, a client, such as a mobile terminal, communicating across the mobile network can generally initiate a communication session (e.g., SIP communication session) with a server across a Network Address Translator (NAT) located between the client and the server, such as in accordance with “pull” techniques. As will be appreciated, the NAT can translate a private IP address of the client to a public IP address recognizable to the server. A server typically cannot, however, initiate a similar communication session with the client across the NAT, such as in accordance with “push” techniques. In this regard, clients within private and cellular networks typically lack a static and public identity like a fixed IP-address, and as such, servers often cannot identify a desired client to the NAT.
Mobile networks are typically configured in a manner that prevents a server from initiating a SIP communication session with a respective client for a number of reasons. Firstly, depending upon the network topology, enabling IP-connectivity to clients within the network can consume an undesirable amount of resources or reduce performance of the network even when there is no IP-traffic across the network. Secondly, in the network, as in many private networks, there may be more clients than available IP-addresses. As such, the network may include a NAT, dynamically allocated IP addresses and/or private IP addresses. Thirdly, the security needs and policies of many networks require that various IP-traffic be prevented from passing into the network. Such an instance also often leads to the use of the NAT, particularly when the mobile networks include an associated firewall/gateway.
To overcome the drawback of the NAT to permit servers to initiate a communication session with a client in accordance with “push” techniques, networks can be configured such that each client has a unique, fixed IP address, where those addresses are entered into a respective Domain Name System (DNS) server. The NAT and any security components (e.g., firewall/gateway, etc.) of the network can also be configured to allow a server to initiate a communication session with a client and allow routing of traffic to and from the IP address allocated to the client. In addition, for example, network technology-specific resources required for IP connectivity with each client in the network can be allocated when the client is connected to the network.
Such a technique for permitting servers to push content to clients, however, ignores the limitations of public networks that lead to the use of NAT components. Namely, such a technique ignores the limitation of available public IP addresses. Also, such a technique ignores the ability of NAT components to communicate with firewalls/gateways, which provide security functionality. Thus, it would be desirable to design a system capable of permitting servers to push content to clients in a mobile or private network utilizing a network-initiated communication session technique that accounts for the limited address space of public networks and maintains firewall and/or gateway functionality to the respective network.